C++
Language
Standard Library Headers
Freestanding and hosted implementations
Named requirements
Language support library
Concepts library (C++20)
Diagnostics library
Utilities library
Strings library
Containers library
Iterators library
Ranges library (C++20)
Algorithms library
Numerics library
Input/output library
Localizations library
Regular expressions library (C++11)
Atomic operations library (C++11)
Thread support library (C++11)
Filesystem library (C++17)
Technical Specifications
Utilities library
Type support (basic types, RTTI, type traits)
Dynamic memory management
Error handling
Program utilities
Variadic functions
Library feature-test macros
Date and time
Function objects
initializer_list(C++11)
bitset
hash(C++11)
integer_sequence(C++14)
Relational operators (deprecated in C++20)
rel_ops::operator!=rel_ops::operator>rel_ops::operator=
Comparisons (C++20)
strong_order
weak_order
partial_order
strong_equal
weak_equal
strong_ordering
weak_ordering
partial_ordering
strong_equality
weak_equality
is_eqis_neqis_ltis_lteqis_gtis_gteq
common_comparison_category
Common vocabulary types
pair
tuple(C++11)
apply(C++17)
make_from_tuple(C++17)
optional(C++17)
any(C++17)
variant(C++17)
Swap, forward and move
swap
exchange(C++14)
forward(C++11)
move(C++11)
move_if_noexcept(C++11)
Elementary string conversions
to_chars(C++17)
from_chars(C++17)
chars_format(C++17)
Type operations
declval(C++11)
as_const(C++17)
launder(C++17)
Dynamic memory management
Smart pointers
unique_ptr(C++11)
shared_ptr(C++11)
weak_ptr(C++11)
auto_ptr(until C++17)
owner_less(C++11)
enable_shared_from_this(C++11)
bad_weak_ptr(C++11)
default_delete(C++11)
Allocators
allocator
allocator_traits(C++11)
allocator_arg_t(C++11)
allocator_arg(C++11)
uses_allocator(C++11)
uses_allocator_construction_args(C++20)
make_obj_using_allocator(C++20)
uninitialized_construct_using_allocator(C++20)
scoped_allocator_adaptor(C++11)
pmr::polymorphic_allocator(C++17)
Memory resources
pmr::memory_resource(C++17)
pmr::get_default_resource(C++17)
pmr::set_default_resource(C++17)
pmr::new_delete_resource(C++17)
pmr::null_memory_resource(C++17)
pmr::synchronized_pool_resource(C++17)
pmr::unsynchronized_pool_resource(C++17)
pmr::monotonic_buffer_resource(C++17)
pmr::pool_options(C++17)
Uninitialized storage
uninitialized_copy
uninitialized_fill
uninitialized_move(C++17)
uninitialized_default_construct(C++17)
uninitialized_value_construct(C++17)
destroy(C++17)
uninitialized_copy_n(C++11)
uninitialized_fill_n
uninitialized_move_n(C++17)
uninitialized_default_construct_n(C++17)
uninitialized_value_construct_n(C++17)
destroy_n(C++17)
destroy_at(C++17)
raw_storage_iterator(until C++20)
get_temporary_buffer(until C++20)
return_temporary_buffer(until C++20)
Garbage collection support
declare_reachable(C++11)
undeclare_reachable(C++11)
declare_no_pointers(C++11)
undeclare_no_pointers(C++11)
pointer_safety(C++11)
get_pointer_safety(C++11)
Miscellaneous
pointer_traits(C++11)
to_address(C++20)
addressof(C++11)
align(C++11)
assume_aligned(C++20)
C Library
malloc
aligned_alloc(C++17)
calloc
realloc
free
Low level memory management
std::shared_ptr
Member functions
shared_ptr::shared_ptr
shared_ptr::~shared_ptr
shared_ptr::operator=
Modifiers
shared_ptr::reset
shared_ptr::swap
Observers
shared_ptr::get
shared_ptr::operator*shared_ptr::operator->
shared_ptr::operator[](C++17)
shared_ptr::use_count
shared_ptr::unique(until C++20)
shared_ptr::operator bool
shared_ptr::owner_before
Non-member functions
std::swap
make_sharedmake_shared_default_init(C++20)
allocate_sharedallocate_shared_default_init(C++20)
static_pointer_castdynamic_pointer_castconst_pointer_castreinterpret_pointer_cast(C++17)
get_deleter
operator==operator|=operator=
operator
|